Generally, a service provider network is configured to provide network connectivity to thousands of users. The users may include individuals and/or enterprises that couple to the provider network via respective network nodes. The user side of each network node may include one or more user devices (e.g., computing devices, telephones, audio visual equipment, etc.) that may be interconnected via a user network.
The user devices are configured to transmit and/or receive network traffic that includes voice, video, and/or data. An amount of traffic between a respective user and the provider network may be defined for each network node by, e.g., a Service Level Agreement (SLA). The SLA may include, e.g., data rate and/or traffic volume constraints and/or commitments that are defined per user and/or by traffic type (i.e., traffic class).
The provider network includes a plurality of network devices, e.g., routers, configured to manage travel of network traffic over the provider network. Each network device is configured to receive and/or transmit a plurality of traffic flows. Network device physical resources, e.g., ports, are thus shared by the plurality of traffic flows.
Traffic management is configured to manage the sharing of the ports by the traffic flows. Traffic management is configured to select, i.e., schedule, packets for transmission with scheduling decisions based, at least in part, on traffic classes associated with the traffic flows. Conventional traffic management has typically been implemented in dedicated hardware that is optimized for packet processing. The dedicated hardware may not be programmable by the service provider and/or may present interoperability challenges if network devices from more than one vendor are used together.
Traffic metering is configured to limit a received packet rate. Conventional traffic metering has typically been implemented in dedicated hardware. Metering accuracy in a network device may typically be achieved with such hardware for either relatively small bandwidth flows or relatively high bandwidth (e.g., at or near line rate) flows but not both.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.